The pull request addresses issue #1663. The problem is that `libgit2` [combines][1] `S_IFDIR ` with `S_IFLNK`, and, therefore, the [strict comparison][2] based on `S_ISDIR` rejects directories.
Regards,
Ivan
[1]: https://github.com/libgit2/libgit2/blob/
47f37400253210f483d84fb9c2ecf44fb5986849/src/index.c#L308
[2]: https://github.com/rust-lang/cargo/blob/
06dbe6555a4a15f5912bbfc841d446dad4d417cc/src/cargo/sources/path.rs#L150